//package cn.bonoon.handler.impl;
//
//import org.hyperic.sigar.CpuInfo;
//import org.hyperic.sigar.FileSystem;
//import org.hyperic.sigar.FileSystemUsage;
//import org.hyperic.sigar.Mem;
//import org.hyperic.sigar.Sigar;
//import org.hyperic.sigar.SigarException;
//import org.hyperic.sigar.Swap;
//
//import cn.bonoon.handler.IHardware;
//
//public class SigarHardware implements IHardware {
//	
//	@Override
//	public String cpu() throws SigarException {
//		StringBuilder cpuInfo = new StringBuilder();
//		Sigar sigar = new Sigar();
//		CpuInfo infos[] = sigar.getCpuInfoList();
//		int infos_len = infos.length;
//		cpuInfo.append("[").append(infos_len).append("] ");
//		for (int i = 0; i < infos_len; i++) { // 不管是单块CPU还是多CPU都适用
//			CpuInfo info = infos[i];
//			long cacheSize = info.getCacheSize();
//			cpuInfo.append(info.getVendor()).append("/").append(info.getModel()).append("/").append(info.getMhz()).append(" MHz");
//			if (cacheSize != Sigar.FIELD_NOTIMPL) {
//				cpuInfo.append("/").append(info.getCacheSize());
//			}
//			cpuInfo.append(";");
//		}
//		return cpuInfo.toString();
//	}
//
//	@Override
//	public String memory() throws SigarException {
//		StringBuilder memoryInfo = new StringBuilder();
//		Sigar sigar = new Sigar();
//		Mem mem = sigar.getMem();
//		memoryInfo.append(mem.getTotal() / 1024L).append("K av/"); // 内存总量
//		Swap swap = sigar.getSwap();
//		memoryInfo.append(swap.getTotal() / 1024L).append("K av"); // 交换区总量
//		return memoryInfo.toString();
//	}
//
//	@Override
//	public String hardDisk() throws SigarException {
//		StringBuilder hardDiskInfo = new StringBuilder("");
//		Sigar sigar = new Sigar();
//		FileSystem fslist[] = sigar.getFileSystemList();
//		long total = 0;
//		for (int i = 0; i < fslist.length; i++) {
//			FileSystem fs = fslist[i];
//			switch (fs.getType()) {
//			case 0: // TYPE_UNKNOWN ：未知
//				break;
//			case 1: // TYPE_NONE
//				break;
//			case 2: // TYPE_LOCAL_DISK : 本地硬盘
//				FileSystemUsage usage = sigar.getFileSystemUsage(fs.getDirName());
//				total += usage.getTotal();
//				break;
//			case 3: // TYPE_NETWORK ：网络
//				break;
//			case 4: // TYPE_RAM_DISK ：闪存
//				break;
//			case 5: // TYPE_CDROM ：光驱
//				break;
//			case 6: // TYPE_SWAP ：页面交换
//				break;
//			}
//		}
//		hardDiskInfo.append(total).append("KB");
//		return hardDiskInfo.toString();
//	}
//
//	@Override
//	public String otherHardware() throws SigarException {
//		StringBuilder hardwareInfo = new StringBuilder();
//		// Sigar sigar = new Sigar();
//		return hardwareInfo.toString();
//	}
//
//}
